#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/11/11 下午12:35
# @Author  : yinxin
# @File    : common
# @Software: PyCharm

from pathlib import PurePath, Path

from happy_python import HappyConfigParser

from config import ListApiConfig, DetailApiConfig, SpiderConfig, MqConfig, ErrorDataConfig

# 配置文件位置
CONFIG_DIR = PurePath(__file__).parent / 'configs'
CONFIG_LIST_FILENAME = str(CONFIG_DIR / 'list.ini')
CONFIG_DETAIL_FILENAME = str(CONFIG_DIR / 'detail.ini')
CONFIG_SPIDER_FILENAME = str(CONFIG_DIR / 'spider.ini')
CONFIG_ERROR_DATA_FILENAME = str(CONFIG_DIR / 'error_data.ini')

# 加载api配置
list_api_config = ListApiConfig()
HappyConfigParser.load(CONFIG_LIST_FILENAME, list_api_config)

detail_api_config = DetailApiConfig()
HappyConfigParser.load(CONFIG_DETAIL_FILENAME, detail_api_config)

# 加载mq配置
mq_config = MqConfig()
HappyConfigParser.load(CONFIG_DETAIL_FILENAME, mq_config)

# 加载spider配置
spider_config = SpiderConfig()
HappyConfigParser.load(CONFIG_SPIDER_FILENAME, spider_config)
spider_config.load_spider()

# api
api_url_config = Path(__file__).parent / Path("configs") / Path("detail.ini")

# 加载error_data配置
error_data_config = ErrorDataConfig()
HappyConfigParser.load(CONFIG_ERROR_DATA_FILENAME, error_data_config)

# 爬取网页的间隔时间
delay: int = 5

# 重试时间
retry_time: int = 60

# 发送结果如果失败需要重试的次数
max_send_date_retry = 5
# 发送结果如果失败需要重试的间隔时间
max_send_date_retry_time = 600

if __name__ == '__main__':
    print(spider_config)
